package design;

public class ReflactUse {
    public static void main(String[] args) {
        try{
//            System.out.println(LazyStaticInnerClassSingleton.getInstance());
//            System.out.println(LazyStaticInnerClassSingleton.getInstance());
//            System.out.println(LazyStaticInnerClassSingleton.getInstance());

//            Class<LazyStaticInnerClassSingleton> clazz = LazyStaticInnerClassSingleton.class;
//            //通过返回获取私有的构造方法
//            Constructor c = clazz.getDeclaredConstructor(null);
//            //强制访问
//            c.setAccessible(true);
//            //暴力初始化
//            Object o1 = c.newInstance();
//            System.out.println(((LazyStaticInnerClassSingleton)o1).getInstance());
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
